ফাইল ইনপুট/আউটপুট: fopen(), fclose(), fread(), fwrite(), fprintf()

Computer Programming - সি স্ট্যান্ডার্ড লাইব্রেরি রেফারেন্স (C Standard Library Reference) Input/Output Functions (ইনপুট/আউটপুট ফাংশনস) |
210
210

ফাইল ইনপুট/আউটপুট: fopen(), fclose(), fread(), fwrite(), fprintf()

সি প্রোগ্রামিংয়ে ফাইল ইনপুট এবং আউটপুট (I/O) অপারেশন পরিচালনা করতে stdio.h হেডার ফাইলটি ব্যবহৃত হয়। এই হেডার ফাইলের মাধ্যমে প্রোগ্রামাররা ফাইল থেকে ডেটা পড়তে, ফাইলে ডেটা লিখতে এবং ফাইল খোলার বা বন্ধ করার কাজ করতে পারেন। সি ভাষায় ফাইল পরিচালনার জন্য কিছু গুরুত্বপূর্ণ ফাংশন রয়েছে, যেমন fopen(), fclose(), fread(), fwrite(), এবং **fprintf()**।

এখানে এই ফাংশনগুলোর বিস্তারিত আলোচনা করা হলো:


১. fopen() – ফাইল খোলা

fopen() ফাংশনটি একটি ফাইল খোলার জন্য ব্যবহৃত হয়। এটি একটি ফাইল পয়েন্টার রিটার্ন করে, যা ফাইলের সাথে সম্পর্কিত অপারেশন করতে ব্যবহৃত হয়। ফাইলটি নির্দিষ্ট মোডে খোলা হয়, যেমন r (পড়ার জন্য), w (লেখার জন্য), a (অ্যাপেন্ড), ইত্যাদি।

সিঙ্কট্যাক্স:

FILE *fopen(const char *filename, const char *mode);

ফাইল মোড:

  • "r" – শুধুমাত্র পড়ার জন্য।
  • "w" – লেখার জন্য (ফাইলটি যদি থাকে তবে মুছে দেয়)।
  • "a" – অ্যাপেন্ড (ফাইলের শেষে লেখার জন্য)।
  • "rb", "wb", "ab" – বাইনারি মোডে কাজ করার জন্য।

উদাহরণ:

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w");  // ফাইল লেখার জন্য খোলা
    if (file == NULL) {
        printf("File not opened.\n");
        return 1;
    }

    fprintf(file, "Hello, World!\n");  // ফাইলে লেখা
    fclose(file);  // ফাইল বন্ধ

    return 0;
}

২. fclose() – ফাইল বন্ধ করা

fclose() ফাংশনটি একটি খোলা ফাইল বন্ধ করার জন্য ব্যবহৃত হয়। এটি ফাইলের সাথে সম্পর্কিত সমস্ত রিসোর্স মুক্ত করে এবং ফাইল পয়েন্টারটি অবৈধ করে দেয়।

সিঙ্কট্যাক্স:

int fclose(FILE *file_pointer);

উদাহরণ:

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w");
    if (file != NULL) {
        fprintf(file, "Hello, World!\n");
        fclose(file);  // ফাইল বন্ধ
    }

    return 0;
}

৩. fread() – ফাইল থেকে ডেটা পড়া

fread() ফাংশনটি একটি ফাইল থেকে নির্দিষ্ট পরিমাণ ডেটা পড়তে ব্যবহৃত হয়। এটি বাইনারি ফাইল থেকে ডেটা পড়তে সবচেয়ে বেশি ব্যবহৃত হয়।

সিঙ্কট্যাক্স:

size_t fread(void *ptr, size_t size, size_t count, FILE *file_pointer);
  • ptr – যেখানে ডেটা স্টোর হবে (বাফার)।
  • size – প্রতি এলিমেন্টের আকার।
  • count – মোট এলিমেন্টের সংখ্যা।
  • file_pointer – ফাইল পয়েন্টার।

উদাহরণ:

#include <stdio.h>

int main() {
    FILE *file = fopen("example.bin", "rb");  // বাইনারি ফাইল খোলা
    if (file == NULL) {
        printf("File not found.\n");
        return 1;
    }

    int buffer[10];
    fread(buffer, sizeof(int), 10, file);  // ফাইল থেকে 10টি ইন্ট পড়া
    fclose(file);

    for (int i = 0; i < 10; i++) {
        printf("%d ", buffer[i]);
    }

    return 0;
}

৪. fwrite() – ফাইলে ডেটা লেখা

fwrite() ফাংশনটি ফাইলে ডেটা লেখার জন্য ব্যবহৃত হয়। এটি বাইনারি ফাইলের জন্য সবচেয়ে বেশি ব্যবহৃত হয়।

সিঙ্কট্যাক্স:

size_t fwrite(const void *ptr, size_t size, size_t count, FILE *file_pointer);
  • ptr – যেখান থেকে ডেটা লেখা হবে।
  • size – প্রতি এলিমেন্টের আকার।
  • count – মোট এলিমেন্টের সংখ্যা।
  • file_pointer – ফাইল পয়েন্টার।

উদাহরণ:

#include <stdio.h>

int main() {
    FILE *file = fopen("example.bin", "wb");  // বাইনারি ফাইল খোলা
    if (file == NULL) {
        printf("File not opened.\n");
        return 1;
    }

    int data[] = {1, 2, 3, 4, 5};
    fwrite(data, sizeof(int), 5, file);  // ফাইলে 5টি ইন্ট লেখা
    fclose(file);

    return 0;
}

৫. fprintf() – ফাইলের মাধ্যমে ফরম্যাটেড আউটপুট

fprintf() ফাংশনটি ফাইলের মধ্যে ফরম্যাটেড আউটপুট লেখার জন্য ব্যবহৃত হয়। এটি printf() এর মতো, তবে আউটপুট কনসোলের পরিবর্তে ফাইলে লেখা হয়।

সিঙ্কট্যাক্স:

int fprintf(FILE *file_pointer, const char *format, ...);

উদাহরণ:

#include <stdio.h>

int main() {
    FILE *file = fopen("example.txt", "w");  // ফাইল লেখার জন্য খোলা
    if (file == NULL) {
        printf("File not opened.\n");
        return 1;
    }

    fprintf(file, "Name: %s\nAge: %d\n", "John Doe", 30);  // ফাইলে ফরম্যাটেড আউটপুট লেখা
    fclose(file);

    return 0;
}

সারসংক্ষেপ

ফাংশনকাজব্যবহারের ধরন
fopen()ফাইল খোলাFILE *file = fopen("filename", "mode");
fclose()ফাইল বন্ধ করাfclose(file);
fread()ফাইল থেকে ডেটা পড়াfread(buffer, size, count, file);
fwrite()ফাইলে ডেটা লেখাfwrite(buffer, size, count, file);
fprintf()ফাইলের মাধ্যমে ফরম্যাটেড আউটপুট লেখাfprintf(file, "format", ...);

এই ফাংশনগুলোর মাধ্যমে সি প্রোগ্রামে ফাইল থেকে ইনপুট/আউটপুট সহজে পরিচালনা করা যায়। ফাইল ম্যানিপুলেশনের জন্য সঠিক ফাইল মোড এবং সঠিক ফাংশন ব্যবহার করা গুরুত্বপূর্ণ।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion